	.file	"bubble.c"
	.text
.globl getListNode
	.type	getListNode, @function
getListNode:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	subl	$12, %esp
	pushl	$12
	call	malloc
	addl	$16, %esp
	movl	%eax, -4(%ebp)
	cmpl	$0, front
	jne	.L2
	movl	-4(%ebp), %eax
	movl	%eax, tail
	movl	%eax, front
	movl	-4(%ebp), %edx
	movl	-4(%ebp), %eax
	movl	$0, 8(%eax)
	movl	$0, 4(%edx)
	jmp	.L3
.L2:
	movl	tail, %edx
	movl	-4(%ebp), %eax
	movl	%eax, 4(%edx)
	movl	-4(%ebp), %edx
	movl	tail, %eax
	movl	%eax, 8(%edx)
	movl	-4(%ebp), %eax
	movl	%eax, tail
.L3:
	movl	-4(%ebp), %eax
	leave
	ret
	.size	getListNode, .-getListNode
.globl getNode
	.type	getNode, @function
getNode:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	call	getListNode
	movl	%eax, -4(%ebp)
	movl	-4(%ebp), %eax
	leave
	ret
	.size	getNode, .-getNode
	.section	.rodata
.LC0:
	.string	"%d\n"
	.text
.globl printNodes
	.type	printNodes, @function
printNodes:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	movl	front, %eax
	movl	%eax, -4(%ebp)
.L6:
	cmpl	$0, -4(%ebp)
	je	.L5
	subl	$8, %esp
	movl	-4(%ebp), %eax
	pushl	(%eax)
	pushl	$.LC0
	call	printf
	addl	$16, %esp
	movl	-4(%ebp), %eax
	movl	4(%eax), %eax
	movl	%eax, -4(%ebp)
	jmp	.L6
.L5:
	leave
	ret
	.size	printNodes, .-printNodes
.globl bubbleSortRev
	.type	bubbleSortRev, @function
bubbleSortRev:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	movl	front, %eax
	movl	%eax, -8(%ebp)
	movl	%eax, -4(%ebp)
.L9:
	cmpl	$0, -4(%ebp)
	je	.L8
.L12:
	movl	-8(%ebp), %eax
	cmpl	$0, 4(%eax)
	je	.L13
	movl	-8(%ebp), %ecx
	movl	-8(%ebp), %eax
	movl	4(%eax), %edx
	movl	(%ecx), %eax
	cmpl	(%edx), %eax
	jge	.L14
	movl	-8(%ebp), %ecx
	movl	-8(%ebp), %edx
	movl	-8(%ebp), %eax
	movl	4(%eax), %eax
	movl	(%eax), %eax
	xorl	(%edx), %eax
	movl	%eax, (%ecx)
	movl	-8(%ebp), %eax
	movl	4(%eax), %ecx
	movl	-8(%ebp), %eax
	movl	4(%eax), %edx
	movl	-8(%ebp), %eax
	movl	(%eax), %eax
	xorl	(%edx), %eax
	movl	%eax, (%ecx)
	movl	-8(%ebp), %ecx
	movl	-8(%ebp), %edx
	movl	-8(%ebp), %eax
	movl	4(%eax), %eax
	movl	(%eax), %eax
	xorl	(%edx), %eax
	movl	%eax, (%ecx)
.L14:
	movl	-8(%ebp), %eax
	movl	4(%eax), %eax
	movl	%eax, -8(%ebp)
	jmp	.L12
.L13:
	movl	front, %eax
	movl	%eax, -8(%ebp)
	movl	-4(%ebp), %eax
	movl	4(%eax), %eax
	movl	%eax, -4(%ebp)
	jmp	.L9
.L8:
	leave
	ret
	.size	bubbleSortRev, .-bubbleSortRev
.globl bubbleSort
	.type	bubbleSort, @function
bubbleSort:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	movl	front, %eax
	movl	%eax, -8(%ebp)
	movl	%eax, -4(%ebp)
.L17:
	cmpl	$0, -4(%ebp)
	je	.L16
.L20:
	movl	-8(%ebp), %eax
	cmpl	$0, 4(%eax)
	je	.L21
	movl	-8(%ebp), %ecx
	movl	-8(%ebp), %eax
	movl	4(%eax), %edx
	movl	(%ecx), %eax
	cmpl	(%edx), %eax
	jle	.L22
	movl	-8(%ebp), %ecx
	movl	-8(%ebp), %edx
	movl	-8(%ebp), %eax
	movl	4(%eax), %eax
	movl	(%eax), %eax
	xorl	(%edx), %eax
	movl	%eax, (%ecx)
	movl	-8(%ebp), %eax
	movl	4(%eax), %ecx
	movl	-8(%ebp), %eax
	movl	4(%eax), %edx
	movl	-8(%ebp), %eax
	movl	(%eax), %eax
	xorl	(%edx), %eax
	movl	%eax, (%ecx)
	movl	-8(%ebp), %ecx
	movl	-8(%ebp), %edx
	movl	-8(%ebp), %eax
	movl	4(%eax), %eax
	movl	(%eax), %eax
	xorl	(%edx), %eax
	movl	%eax, (%ecx)
.L22:
	movl	-8(%ebp), %eax
	movl	4(%eax), %eax
	movl	%eax, -8(%ebp)
	jmp	.L20
.L21:
	movl	front, %eax
	movl	%eax, -8(%ebp)
	movl	-4(%ebp), %eax
	movl	4(%eax), %eax
	movl	%eax, -4(%ebp)
	jmp	.L17
.L16:
	leave
	ret
	.size	bubbleSort, .-bubbleSort
.globl main
	.type	main, @function
main:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	andl	$-16, %esp
	movl	$0, %eax
	addl	$15, %eax
	addl	$15, %eax
	shrl	$4, %eax
	sall	$4, %eax
	subl	%eax, %esp
	movl	$1, -20(%ebp)
	movl	$0, tail
	movl	$0, front
	call	readfile
	subl	$8, %esp
	pushl	$0
	leal	-8(%ebp), %eax
	pushl	%eax
	call	gettimeofday
	addl	$16, %esp
.L25:
	call	bubbleSort
	call	bubbleSortRev
	leal	-20(%ebp), %eax
	decl	(%eax)
	cmpl	$0, -20(%ebp)
	je	.L26
	jmp	.L25
.L26:
	subl	$8, %esp
	pushl	$0
	leal	-16(%ebp), %eax
	pushl	%eax
	call	gettimeofday
	addl	$16, %esp
	subl	$8, %esp
	leal	-16(%ebp), %eax
	pushl	%eax
	leal	-8(%ebp), %eax
	pushl	%eax
	call	printTime
	addl	$16, %esp
	movl	$0, %eax
	leave
	ret
	.size	main, .-main
	.comm	front,4,4
	.comm	tail,4,4
	.section	.note.GNU-stack,"",@progbits
	.ident	"GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-8)"
